package com.mes.schedule.manager.iface;

import java.util.List;

import com.mes.common.manager.iface.IBasicManager;
import com.mes.schedule.domain.ScheduleScheme;
import com.mes.task.domain.Demand;

public interface IScheduleDemandManager extends IBasicManager {

	/**
	 * 计算整个调度方案的优先级
	 * @param scheduleScheme
	 */
	public void calcDemandPriority(ScheduleScheme scheduleScheme);
	
	/**
	 * 计算某一条指令的优先级
	 * @param demand
	 * @param scheduleScheme
	 */
	public void calcDemandPriority(Demand demand,ScheduleScheme scheduleScheme);

	/**
	 * 添加分期交付
	 * @throws Exception
	 */
	public void addDemandDelivery(Demand demand) throws Exception;

	
	/**
	 * 取消分期交付
	 * @throws Exception
	 */
	public void cancelDemandDelivery(Demand demand) throws Exception;
	
	/**
	 * 保存关键等级
	 * @throws Exception
	 */
	public void saveDeamnd(Demand demand) throws Exception;
	
	/**
	 * 保存关键等级
	 * @throws Exception
	 */
	public void saveDeamnd(List<Demand> demandList) throws Exception;
	

}
